using Admin2025.Application.Dtos;
using Admin2025.Domain.Entities.App;

namespace Admin2025.Application.Services;

public interface IAppRoleService
{
    /*
        1. 创建角色
        2. 删除角色
        3. 修改角色
        4. 启用/禁用
        5. 分配权限/移除权限

    */

    Task<dynamic> CreateRoleAsync(CreateRoleDto createRoleDto);

    Task<dynamic> DeleteRoleAsync(Guid roleId);

    Task<dynamic> UpdateRoleAsync(Guid roleId, UpdateRoleDto updateRoleDto);

    Task<dynamic> EnableRole(Guid roleId);
    Task<dynamic> DisableRole(Guid roleId);
    Task<dynamic> AssignPermission(Guid roleId,string permissionCode);
    Task<dynamic> RemovePermission(Guid roleId,string permissionCode);
}